package com.example.springboot.service;

import com.example.springboot.entity.SysUser;

import java.util.List;

/**
 * (SysUser)表服务接口
 *
 * @author makejava
 * @since 2021-09-06 11:55:47
 */
public interface SysUserService {


	/**
	 * 查询数据总条数
	 *
	 * @return 数据条数
	 */
	int queryUserCount();

	/**
	 * 通过user查询单条数据
	 *
	 * @param user
	 * @return 实例对象
	 */
	SysUser queryByUser(SysUser user);

	/**
	 * 通过ID查询单条数据
	 *
	 * @param id 主键
	 * @return 实例对象
	 */
	SysUser queryById(Long id);

	/**
	 * 查询多条数据
	 *
	 * @param offset 查询起始位置
	 * @param limit  查询条数
	 * @return 对象列表
	 */
	List<SysUser> queryAllByLimit(int offset, int limit);

	/**
	 * 新增数据
	 *
	 * @param sysUser 实例对象
	 * @return 实例对象
	 */
	SysUser insert(SysUser sysUser);

	SysUser insert(SysUser sysUser, List<Long> list);

	/**
	 * 修改数据
	 *
	 * @param sysUser 实例对象
	 * @return 实例对象
	 */
	SysUser update(SysUser sysUser);

	SysUser update(SysUser sysUser, List<Long> list);

	/**
	 * 修改数据
	 *
	 * @param id 实例对象
	 * @return 实例对象
	 */
	boolean resetPassword(Long id);

	/**
	 * 通过主键删除数据
	 *
	 * @param id 主键
	 * @return 是否成功
	 */
	boolean deleteById(Long id);

}